<template>
  <div>
    <button @click="handleClick">测试按钮</button>
  </div>
</template>

<script>
export default {
  name: 'Example',
  // 方式1：通过 inject 注入
  inject: ['monitor'],
  
  methods: {
    handleClick() {
      try {
        // 一些可能出错的代码
        throw new Error('测试错误');
      } catch (error) {
        // 可以手动上报错误
        this.$monitor.reporter.send('error', {
          type: 'custom',
          message: error.message,
          stack: error.stack
        });
      }
    }
  }
}
</script>

// 或者使用组合式 API
<script setup>
import { inject } from 'vue'

// 方式1：通过 inject 使用
const monitor = inject('monitor')

const handleClick = () => {
  try {
    throw new Error('测试错误')
  } catch (error) {
    monitor.reporter.send('error', {
      type: 'custom',
      message: error.message,
      stack: error.stack
    })
  }
}
</script> 